package com.hex.ds.hdtp.core.inf.script.common.repository;

import com.hex.ds.hdtp.core.inf.common.repository.IBasicRepository;
import com.hex.ds.hdtp.core.inf.script.common.po.ScriptTableConsanguinityPo;

import java.util.List;

/**
 * @Package: com.hex.ds.hdtp.core.inf.script.test.repository
 * @ClassName IScriptTableConsanguinityRepository
 * @Description: 脚本表血缘-数据接口
 * @Author: wz.li
 * @Date 2023/8/3 11:07
 * @Version v2.0.2
 **/
public interface IScriptTableConsanguinityRepository extends IBasicRepository<ScriptTableConsanguinityPo> {

    /*
     * @Method: queryList <br>
     * @Param: [scriptListPkId, dataFrom] <br>
     * @Return: java.util.List<com.hex.ds.hdtp.core.inf.script.common.po.ScriptTableConsanguinityPo> <br>
     * @Description：根据脚本清单主键和数据来源查询对应的表血缘<br>
     * @Author： wz.li<br>
     * @Date： 2023/8/3 11:43 <br>
     * @Version： V2.0.2<br>
     */
    List<ScriptTableConsanguinityPo> queryList(String scriptListPkId, String dataFrom);

    /**
     * 根据任务主键查询对应的表血缘
     *
     * @param taskPkId
     * @return
     */
    List<ScriptTableConsanguinityPo> queryListByTaskId(String taskPkId);

    /*
     * @Method: removeByScriptListPkId <br>
     * @Param: [scriptListPkId, dataFrom] <br>
     * @Return: int <br>
     * @Description：根据脚本清单主键和数据来源删除对应的表血缘<br>
     * @Author： wz.li<br>
     * @Date： 2023/8/4 11:58 <br>
     * @Version： V2.0.2<br>
     */
    int removeByScriptListPkId(String scriptListPkId, String dataFrom);

    /*
     * @Method: removeByTableName <br>
     * @Param: [scriptTableConsanguinityPo] <br>
     * @Return: int <br>
     * @Description：根据表名删除<br>
     * @Author： wz.li<br>
     * @Date： 2023/8/8 11:44 <br>
     * @Version： V2.0.2<br>
     */
    int removeByTableName(ScriptTableConsanguinityPo scriptTableConsanguinityPo);
}
